Technote 1093
QuickDraw GX 'rdip' Resources: The Number of the Beast
ñ⁄éü
'rdip' ÉäÉ\Å[ÉX - âΩÇ™Ç≈Ç´ÇÈÇÃÇ©
íËã`
àÍî ÉZÉbÉgÉAÉbÉvèÓïÒ (è„à ÉrÉbÉg)
ÉvÉåÅ[Éì
óvñÒ
|
QuickDraw GX ÇÃÉâÉXÉ^ÉvÉäÉtÉ@ÉåÉìÉX ('rdip') ÉäÉ\Å[ÉXÇégópÇ∑ÇÈÇΔÅAÉâÉXÉ^ÉvÉäÉìÉ^ÉhÉâÉCÉoÇÃÉfÉxÉçÉbÉpÇÕÉvÉäÉìÉ^Ç…ÇÊÇÈÉCÉÅÅ[ÉWÇÃÉåÉìÉ_ÉäÉìÉOï˚ñ@Çç◊Ç©Ç≠êßå‰Ç∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBǵǩLJÅAÉåÉìÉ_ÉäÉìÉOÉcÅ[ÉãǪÇÃLJÇÃÇèëÇ≠ïKóvÇÕdžÇËÇ‹ÇπÇÒÅBǵǩǵÅAéQçlï∂å£Ç™è≠ǻǢÇΩÇflÅADZÇÃÉäÉ\Å[ÉXÇÃç≈ìKÇ»égÇ¢ï˚DžǬǢǃëΩÇ≠ÇÃÉfÉxÉçÉbÉpÇ™ç¨óêǵǃǢÇÈÇÃLJéñé¿Ç≈Ç∑ÅBDZÇÃTECHNOTE Ç≈ÇÕÅAéüÇÃÉeÅ[É}DžǬǢǃê‡ñæÇµÇ‹Ç∑ÅB
Åú |
'rdip' Ç…ä‹Ç‹ÇÍÇÈÉvÉåÅ[ÉìÉtÉâÉOÇΔÅAëºÇÃÉtÉBÅ[ÉãÉhÇ÷ÇÃǪÇÍÇÁÇÃâeãø |
Åú |
ǪÇÃèÍÇ≈ 'rdip' Ç…ÉpÉbÉ`ÇìñǃÇÈï˚ñ@ |
Åú |
ǪÇÍǺÇÍÇÃÉvÉåÅ[ÉìÇÇ‹ÇΔÇflǃÉåÉìÉ_ÉäÉìÉOÇ∑ÇÈï˚ñ@ |
DZÇà TECHNOTE Çç≈ëÂå¿Ç…óòópÇ∑ÇÈÇΩÇflÇ…ÇÕÅA"IW-Half-Dither" ÉTÉìÉvÉãÉRÅ[ÉhÇéQçlÇ…Ç∑ÇÈDZÇΔÇã≠Ç≠Ç®ä©ÇflǵNjÇ∑ÅBDZÇÃÉTÉìÉvÉãÉRÅ[ÉhÇÕÅAÅuDeveloper CD series: Tool Chest EditionÅvÇ…é˚ò^Ç≥ÇÍǃǢNjÇ∑ÅBÇ‹ÇΩÅAApple ÇÃÉfÉxÉçÉbÉp Web ÉTÉCÉg (ftp://ftpdev.info.apple.com/Developer_Services/Sample_Code/QuickDraw_GX/IW-Half-Dither/)Ç≈LJì¸éËÇ≈Ç´Ç‹Ç∑ÅB
DZÇà TECHNOTE ÇÕÅAéÂÇΔǵǃÅAQuickDraw GX ÉâÉXÉ^ÉvÉäÉìÉ^ÉhÉâÉCÉoÇ… 'rdip' ÉäÉ\Å[ÉXÇóòópǵÇÊǧÇΔǵǃǢÇÈÉfÉxÉçÉbÉpå¸ÇØÇ…èëÇ©ÇÍǃǢNjÇ∑ÅBDZÇà TECHNOTE Ç≈ÇÕÅACMYK ÉvÉäÉìÉ^Ç…ìKçáǵÇΩÉTÉìÉvÉãÇégǡǃǢNjÇ∑ÅB |
'rdip' ÉäÉ\Å[ÉX - âΩÇ™Ç≈Ç´ÇÈÇÃÇ©
"ÉâÉXÉ^ÉvÉäÉtÉ@ÉåÉìÉX" Ç‹ÇΩÇÕ 'rdip' ÉäÉ\Å[ÉXÇégópÇ∑ÇÈÇΔÅAQuickDraw
GX Ç™ÉâÉXÉ^ÉxÅ[ÉXÇÃÉvÉäÉìÉ^Ç≈ÉCÉÅÅ[ÉWÇÉåÉìÉ_ÉäÉìÉOÇ∑ÇÈï˚ñ@Çêßå‰Ç∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBDZÇÃÉäÉ\Å[ÉXÇ…ÇÕÇ¢Ç≠ǬǩÇÃÉtÉâÉOÇ™ópà”Ç≥ÇÍǃǮÇËÅADZÇÍÇÁÇê≥ǵÇ≠ÉZÉbÉgÉAÉbÉvÇ∑ÇÍÇŒÅAÉfÉBÉUÇ‹ÇΩÇÕÉnÅ[ÉtÉgÅ[ÉìÉCÉÅÅ[ÉWÇÃÇ¢Ç∏ÇÍÇ©ÇëIëÇ≈Ç´Ç‹Ç∑ÅBDZÇÃÉäÉ\Å[ÉXÇÕÅAQuickDraw
GX ÇÃì‡ïîÉåÉìÉ_ÉäÉìÉOÉGÉìÉWÉìÇêßå‰Ç∑ÇÈÇΩÇflÇ…égópÇ≈Ç´Ç‹Ç∑ÅB
DZÇÃÉäÉ\Å[ÉXÇ…ä‹Ç‹ÇÍÇÈÇ≥NjǥNjǻÉpÉâÉÅÅ[É^ÇÕÅAÅuInside
Macintosh: QuickDraw GX Printing Extensions and DriversÅvÇÃ 6-66
ÉyÅ[ÉWÇ©ÇÁ 6-72 ÉyÅ[ÉWÇ≈âê‡Ç≥ÇÍǃǢNjÇ∑ÅBÇΩÇæÇµÅAInside Macintosh ÇÃDZÇÃÉZÉNÉVÉáÉìÇ≈ÇÕÅAäeÉpÉâÉÅÅ[É^DžǬǢǃàÍí ÇËÇÃê‡ñæÇÕâ¡Ç¶ÇÁÇÍǃǢNjÇ∑Ç™ÅAǪÇÍǺÇÍÇÃÉpÉâÉÅÅ[É^Ç™ëºÇÃÉpÉâÉÅÅ[É^ÇΔÇ«ÇÃÇÊǧDžëäå›Ç…ä÷òAǵǃǢÇÈǩDžǬǢǃÇÕNjǡÇΩÇ≠êGÇÍÇÁÇÍǃǢNjÇπÇÒÅBà»â∫Ç…ÅADZÇÃç\ë¢ëÃÇÃíËã`Çé¶ÇµÇ‹Ç∑ÅBíËã`ÇÃíÜÇ≈ÇÕÅAgxRasterPrefsRec
ÇΔǢǧä÷òAÇ∑ÇÈÉfÅ[É^ç\ë¢ëÃÇ≈égópÇ≥ÇÍǃǢÇÈñºëOÇ™égÇÌÇÍǃǢNjÇ∑ÅB
DZÇÃÉfÅ[É^ç\ë¢ëÃÇÕàÍå©îÒèÌÇ…ï°éGÇ…å©Ç¶Ç‹Ç∑Ç™ÅAé¿ç€Ç…ÇÕàÍî ÉZÉbÉgÉAÉbÉvèÓïÒÇΔÉvÉåÅ[ÉìèÓïÒÇΔǢǧ
2 ǬÇÃÉZÉNÉVÉáÉìÇ…ï™ÇØÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBäeÉvÉåÅ[ÉìèÓïÒÇÃílÇÕÅAÉnÅ[ÉtÉgÅ[ÉìèàóùÇΔÉfÉBÉUèàóùÇÃÇ«ÇøÇÁÇëIëÇ∑ÇÈǩDžÇÊǡǃàŸÇ»ÇËÇ‹Ç∑ÅBǪÇÍǺÇÍÇÃÉvÉåÅ[ÉìÇÕÅAQuickDraw
GX Ç…ÇÊǡǃê∂ê¨Ç≥ÇÍÅAå¬ï Ç…ÉåÉìÉ_ÉäÉìÉOÇ≥ÇÍÇÈÇΔå©Ç»Ç∑DZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBàÍî Ç…ÅAÉfÉBÉUÉCÉÅÅ[ÉWÇÕ
1 ǬÇÃÉvÉåÅ[Éìì‡Ç≈çÏê¨Ç≥ÇÍÇ‹Ç∑Ç™ÅAÉnÅ[ÉtÉgÅ[ÉìÉCÉÅÅ[ÉWÇ…ÇÕ 4 ǬÇÃÉvÉåÅ[ÉìÇ™ïKóvÇ≈Ç∑ÅB1
ǬÇÃÉvÉåÅ[Éìì‡Ç≈ÉnÅ[ÉtÉgÅ[ÉìÉCÉÅÅ[ÉWÇçÏê¨ÇµÇÊǧÇΔÇ∑ÇÈÇΔÅAçïêFÇ™ê≥ǵÇ≠èàóùÇ≥ÇÍÇ‹ÇπÇÒÅB4
ǬÇÃÉvÉåÅ[ÉìÇégópÇ∑ÇÈLJǧ 1 ǬÇÃóòì_ÇÕÅAäpìxÇé©óRÇ…ïœÇ¶ÇÁÇÍÇÈÇΔǢǧDZÇΔÇ≈Ç∑ÅB
íËã`
ÉâÉXÉ^ÉvÉäÉtÉ@ÉåÉìÉX ('rdip' ) ÉäÉ\Å[ÉX (gxRasterPrefsType
å^) ÇÕÅAÉâÉXÉ^ÉhÉâÉCÉoÇ…ëŒÇ∑ÇÈÉåÉìÉ_ÉäÉìÉOÉIÉvÉVÉáÉìÇêßå‰ÇµÇ‹Ç∑ÅBDZÇÃÉäÉ\Å[ÉXÇÕÅAÇ∑Ç◊ǃÇÃÉâÉXÉ^ÉvÉäÉìÉ^ÉhÉâÉCÉoÇ…ïKóvÇ≈Ç∑ÅB
éüÇ…ÅAÉâÉXÉ^ÉvÉäÉtÉ@ÉåÉìÉXÇÃç\ë¢Çé¶ÇµÇ‹Ç∑ÅB
'rdip' ÉfÅ[É^å^
renderOptions gxRasterRenderOptions Çä‹Çfi long
hImageRes Fixed
vImageRes Fixed
minBandSize short
maxBandSize short
ramPercentage Fixed
ramSlop long
depth short
numPlanes short
ÉvÉåÅ[ÉìÉZÉbÉgÉAÉbÉvîzóÒ
planeOptions gxRasterPlaneOptions Çä‹Çfi long
angle Fixed
frequency Fixed
method gxDotType
tinting gxTintType
dotColor gxColor
backgroundColor gxColor
tintSpace gxColorSpace
planeSpace gxColorSpace
planeSet ÉJÉâÅ[ÉZÉbÉgÇ‹ÇΩÇÕDZÇÃÉfÅ[É^ç\ë¢ëÃÇ…ä‹Ç‹ÇÍÇÈ gxColorSet ÇÃÉäÉ\Å[ÉX ID
planeProfile ÉJÉâÅ[ì¡ê´Ç‹ÇΩÇÕDZÇÃÉfÅ[É^ç\ë¢ëÃÇ…ä‹Ç‹ÇÍÇÈ gxColorProfile ÇÃÉäÉ\Å[ÉX ID
àÍî ÉZÉbÉgÉAÉbÉvèÓïÒ (è„à ÉrÉbÉg)
Åú renderOptions : DZÇÃÉpÉâÉÅÅ[É^ÇégǡǃÅAÉåÉìÉ_ÉäÉìÉOÇÃï˚ñ@Çêßå‰Ç∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBàÍî Ç…ÅAÉfÉtÉHÉãÉgÇÃílÇ≈džÇÈ
gxDefaultRaster ÇégǢNjÇ∑ÅBDZÇÍÇ…ÇÊÇËÅAÉfÉtÉHÉãÉgÇÃÉIÉvÉVÉáÉìÇégǡǃÉCÉÅÅ[ÉWÇ™ÉåÉìÉ_ÉäÉìÉOÇ≥ÇÍÅAì]ëóÉÇÅ[ÉhÇ™âåà
(Resolve) Ç≥ÇÍǃÅAÇ∑Ç◊ǃÇÃÉvÉåÅ[ÉìÇ™ìØéûÇ…ÉåÉìÉ_ÉäÉìÉOÇ≥ÇÍÇ‹Ç∑ÅBÇΩÇæÇµÅADZÇÃê›íËÇ™ìKêÿÇ≈ǻǢDZÇΔLJdžÇËÇ‹Ç∑ÅB
éüÇÃÉvÉåÅ[ÉìÇàÛç¸Ç∑ÇÈëOÇ…ÅAdžÇÈÉvÉåÅ[ÉìÇÃÉåÉìÉ_ÉäÉìÉOÇΔàÛç¸ÇÇ‹ÇΔÇflǃçsÇÌÇ»ÇØÇÍnjǻÇÁǻǢDZÇΔLJdžÇËÇ‹Ç∑ÅBDZÇÃèÍçáÇÕÅAgxOnePlaneAtATime
ÇégǢNjÇ∑ÅBèoóÕÇ∑ÇÈïKóvÇÃdžÇÈdžÇÁljÇÈÉvÉåÅ[ÉìÇ…ëŒÇµÇƒ 1 ǬÇÃÉvÉåÅ[ÉìÉåÉRÅ[ÉhÇéwíËÇ∑ÇÈDZÇΔÇ™ïKóvÇ…Ç»ÇËÇ‹Ç∑ÅBè⁄ç◊DžǬǢǃÇÕÅADZÇÃ
TECHNOTE ÇÃÅuäeÉvÉåÅ[ÉìÇÇ‹ÇΔÇflǃàÛç¸Ç∑ÇÈÅvÇÃÉZÉNÉVÉáÉìÇéQèΔǵǃÇ≠ÇæÇ≥Ç¢ÅB
ëŒè€ÇΔÇ»ÇÈÉvÉäÉìÉ^Ç™Ç∑Ç◊ǃÇÃÉfÅ[É^ÇÃëóêMÇïKóvÇΔÇ∑ÇÈèÍçáÇÕ (çïêFÇÃóÃàÊLJ) ÅAgxSendAllBands
ÇégǢNjÇ∑ÅB
gxDontResolveTransferModes ÇÕÅAëŒè€ÇΔÇ»ÇÈ 32 ÉrÉbÉgÉfÉoÉCÉXÇ™ÇÊÇËçÇë¨Ç»ì]ëóÇçsǧDZÇΔÇ™Ç≈Ç´ÇÈÇÊǧDžÅAGX
Çà Resolving ì]ëóÉÇÅ[ÉhÇí‚é~Ç∑ÇÈÇΩÇflÇ…égǢNjÇ∑ÅBì]ëóÉÇÅ[ÉhÇÃè⁄ç◊DžǬǢǃÇÕÅAÅuInside
Macintosh: QuickDraw GX ObjectsÅvÇÃ5-11
ÉyÅ[ÉWÇéQèΔǵǃÇ≠ÇæÇ≥Ç¢ÅBëÂïîï™ÇÃÉAÉvÉäÉPÅ[ÉVÉáÉìÇ≈ÇÕÅAGX Ç™é©ìÆìIÇ…ç≈ìKÇ»ê›íËÇçsǢNjÇ∑ÅB
íËêî
|
íl
|
gxDefaultRaster |
0
|
gxDontResolveTransferModes |
0x01
|
gxRenderInReverse |
0x02
|
gxOnePlaneAtATime |
0x04
|
gxSendAllBands |
0x08
|
Åú hImageRes ÅAvImageRes : DZÇÍÇÁÇÕëŒè€ÇΔÇ»ÇÈÉâÉXÉ^ÉfÉoÉCÉXÇÃêÖïΩÇ®ÇÊÇ—êÇíºï˚å¸ÇÃâëúìxÇï\Ç∑å≈íËè¨êîì_êîÇ≈Ç∑ÅBÇΩÇΔǶnjÅA144
dpi ÇÃÉfÉoÉCÉXÇ…ëŒÇµÇƒÇÕ 0x00900000 ÇégǢNjÇ∑ÅB
Åú minBandSize : DZÇÍÇÕê∂ê¨Ç≥ÇÍÇÈäeÉoÉìÉhÇÃç≈è¨ÇÃçÇÇ≥ÇÉsÉNÉZÉãíPà Ç≈ï\ǵNjÇ∑ÅB
Åú maxBandSize : DZÇÍÇÕê∂ê¨Ç≥ÇÍÇÈäeÉoÉìÉhÇÃç≈ëÂÇÃçÇÇ≥ÇÉsÉNÉZÉãíPà Ç≈ï\ǵNjÇ∑ÅBDZÇÃÉpÉâÉÅÅ[É^Ç…
0 ÇéwíËÇ∑ÇÈÇΔÅAÉyÅ[ÉWëSëÃÇ™ê∂ê¨Ç≥ÇÍÇ‹Ç∑ÅB
Åú ramPercentage ÅAramSlop : DZÇÍÇÁ 2 ǬÇÃílÇÕÅAÇ«ÇÃíˆìxÇÃàÍéûÉÅÉÇÉäÇ™égópâ¬î\Ç≈džÇÈÇ©ÇåvéZÇ∑ÇÈÇΩÇflÇ…égǢNjÇ∑ÅBRamSlop
ÇÕÅAëºÇÃÉAÉvÉäÉPÅ[ÉVÉáÉì (ǬNjÇËÅAFinder ÇΔÉVÉXÉeÉÄ) ÇÃÇΩÇflÇ…ämï€ÇµÇƒÇ®Ç≠égópâ¬î\Ç»ç≈è¨ÇÃàÍéûÉÅÉÇÉäóeó Ç≈Ç∑ÅBRamPercentage
ÇÕÅAécÇ≥ÇÍǃǢÇÈÉÅÉÇÉäóeó ÇÃâΩ % ÇégópÇ∑ÇÈÇ©ÇéwíËǵNjÇ∑ÅBåvéZéÆÇÕéüÇÃÇÊǧDžǻÇËÇ‹Ç∑ÅB
((égópâ¬î\Ç»ÉÅÉÇÉäóeó - ramSlop) * ramPercentage)
DZÇÃåvéZéÆÇÃåãâ ÇÕÅAç≈è¨ÇÃÉoÉìÉhÉTÉCÉYÇÃî{êîÇ…ä€ÇflÇÁÇÍÇ‹Ç∑ÅBÇΩÇΔǶnjÅAëºÇÃÉAÉvÉäÉPÅ[ÉVÉáÉìÇÃÇΩÇflÇ…
100K ÇÃÉÅÉÇÉäÇämï€ÇµÅAécÇ¡ÇΩÉÅÉÇÉäóeó ÇÃîºï™ÇégópÇ∑ÇÈèÍçáÇÕÅAramPercentage
Ç… 0x00008000 ÅAramSlop Ç… 0x00019000 ÇégǢNjÇ∑ÅBDZÇÍÇÁÇÃílÇÕÅAÉhÉâÉCÉoÇ™è\ï™Ç»àÍéûÉÅÉÇÉäÇégǡǃǪÇÍÇ»ÇËÇÃë¨ìxÇ≈ÉCÉÅÅ[ÉWÇÃÉåÉìÉ_ÉäÉìÉOÇçsÇ¢ÅAǩǬÉVÉXÉeÉÄÇǪÇÍÇŸÇ«à≥îóǵǻǢÇÊǧDžê›íËÇ∑ÇÈïKóvǙdžÇËÇ‹Ç∑ÅB
Åú depth : ÉCÉÅÅ[ÉWÉìÉOÇ…égópÇ∑ÇÈÉvÉåÅ[ÉììñÇΩÇËÇÃÉsÉNÉZÉãêîÇ≈Ç∑ÅB
Åú numPlanes : ÉtÉHÉçÅ[Ç∑ÇÈÉvÉåÅ[ÉìÇÃêîÇ≈Ç∑ÅBí èÌÅADZÇÃÉpÉâÉÅÅ[É^ÇÃílÇÕ
1 Ç‹ÇΩÇÕ 4 Ç…Ç»ÇËÇ‹Ç∑ÅB1 ÇÕÉfÉBÉUÉåÉìÉ_ÉäÉìÉOÇ…ëŒâûǵÅA4 ÇÕÉnÅ[ÉtÉgÅ[ÉìÉåÉìÉ_ÉäÉìÉOÇ…ëŒâûǵNjÇ∑ÅB
ÉvÉåÅ[Éì
ÉvÉåÅ[ÉìÉIÉvÉVÉáÉì
ê∂ê¨Ç∑ÇÈäeÉvÉåÅ[ÉìDžǬǢǃÅAÉvÉåÅ[ÉìèÓïÒÇéwíËÇ∑ÇÈïKóvǙdžÇËÇ‹Ç∑ (ÉäÉ\Å[ÉXÇÃDZÇÃïîï™ÇÕ
gxPlaneSetupRec ÉfÅ[É^ç\ë¢ëÃÇΔìØÇ∂Ç≈Ç∑)ÅBí èÌÅAÉfÉBÉUÉåÉìÉ_ÉäÉìÉOÇçsǧDžÇÕ
1 ǬÇÃÉvÉåÅ[ÉìÇê∂ê¨ÇµÅAÉnÅ[ÉtÉgÅ[ÉìÉåÉìÉ_ÉäÉìÉOÇçsǧDžÇÕ 4 ǬÇÃÉvÉåÅ[ÉìÇê∂ê¨ÇµÇ‹Ç∑ÅB
Åú planeOptions : DZÇÃÉpÉâÉÅÅ[É^ÇÕéüÇÃílÇÇΔÇËÇ‹Ç∑ÅB
íËêî
|
íl
|
gxDefaultOffscreen |
0
|
gxDontSetHalftone |
1
|
gxDotTypeIsDitherLevel |
2
|
äeÉvÉåÅ[ÉìÇ…ëŒÇ∑ÇÈǪÇÃëºÇÃÉpÉâÉÅÅ[É^ÇÃílÇÕÅAÉnÅ[ÉtÉgÅ[ÉìÉCÉÅÅ[ÉWÇ‹ÇΩÇÕÉfÉBÉUÉCÉÅÅ[ÉWÇÃÇ«ÇøÇÁÇëIëÇ∑ÇÈǩDžÇÊǡǃàŸÇ»ÇËÇ‹Ç∑ÅB
ÉfÉBÉUÉäÉìÉOÇ…ëŒâûÇ∑ÇÈÉvÉåÅ[ÉìÇÃíl
ÉfÉBÉUÉvÉåÅ[ÉìÇ…égópÇ∑ÇÈílÇÃÉTÉìÉvÉãDžǬǢǃÇÕÅAÅuInside
Macintosh: QuickDraw GX Printing Extensions and DriversÅvÇÃ 3-63
ÉyÅ[ÉWÇéQèΔǵǃÇ≠ÇæÇ≥Ç¢ÅBÉfÉBÉUÉCÉÅÅ[ÉWÇÃèÍçáÅAëÂïîï™ÇÃÉtÉBÅ[ÉãÉhÇÕñ¢égópÇÃNjNjDžǵǃǮǴNjÇ∑
(ǬNjÇËñ≥éãÇ≥ÇÍÇ‹Ç∑)ÅBQuickDraw GX ÇÃÉfÉBÉUÉäÉìÉOÇÃäTóvDžǬǢǃÇÕÅAÅuInside
Macintosh: QuickDraw GX ObjectsÅvÇÃ 7-10
ÉyÅ[ÉWÇ©ÇÁ 7-13 ÉyÅ[ÉWÇéQèΔǵǃÇ≠ÇæÇ≥Ç¢ÅB
Åú planeOptions : DZÇÃÉpÉâÉÅÅ[É^ÇÕ 3 Ç…ê›íËǵǃÇ≠ÇæÇ≥Ç¢ (gxDontSetHalftone
+ gxDotTypeIsDitherLevel )ÅBgxDontSetHalftone ÇÕÉfÉBÉUÉCÉÅÅ[ÉWÇÃçÏê¨Ç
QuickDraw GX Ç…éwé¶ÇµÅAgxDotTypeIsDitherLevel ÇÕÉfÉBÉUÉåÉxÉãÇ…ëŒÇµÇƒÅAplaneHalftone
Ç…ä‹Ç‹ÇÍÇÈ method ÉpÉâÉÅÅ[É^ÇégópÇ∑ÇÈDZÇΔÇ QuickDraw GX Ç…éwé¶ÇµÇ‹Ç∑ÅB
Åú planeHalftone : DZÇÃÉpÉâÉÅÅ[É^ÇÕ gxHalftone ÉfÅ[É^ç\ë¢ëÃÇä‹Ç›ÅAÉfÉBÉUÉäÉìÉOÇçsǧÇΔÇ´ÅAǪÇÃëÂïîï™Ç™égópÇ≥ÇÍÇ‹ÇπÇÒÅBÇΩÇæÇµÅAplaneOptions
Ç≈ gxDotTypeIsDitherLevel íËêîÇégópǵǃǢÇÈèÍçáÇÕÅAÉfÉBÉUÉåÉxÉãÇê›íËÇ∑ÇÈÇΩÇflÇ…
method ÇÃílÇ™égópÇ≥ÇÍÇ‹Ç∑ÅB
angle: |
ñ¢égóp (0 Ç…ê›íË)ÅB |
frequency: |
ñ¢égóp (0 Ç…ê›íË)ÅB |
method: |
ÉfÉBÉUÉåÉxÉãÇ…égópÇ≥ÇÍÇÈÅB |
tinting: |
ñ¢égóp (gxLuminanceTint Ç…ê›íË)ÅB |
dotColor: |
ñ¢égóp (gxRGBSpace, gxNoProfile, 0x0000, 0x0000, 0x0000, 0x0000 Ç…ê›íË)ÅB |
backgroundColor: |
ñ¢égóp (gxRGBSpace, gxNoProfile, 0x0000, 0x0000, 0x0000, 0x0000 Ç…ê›íË)ÅB |
tintSpace: |
ñ¢égóp (gxRGBSpace Ç…ê›íË)ÅB |
Åú planeSpace : DZÇÍÇÕÉvÉåÅ[ÉìÇÃÉJÉâÅ[ÉXÉyÅ[ÉXÇ≈Ç∑ÅBàÍî Ç…ÅADZÇÃÉpÉâÉÅÅ[É^Ç…ÇÕ
gxIndexedSpace Çê›íËǵÅAéüÇÃÉpÉâÉÅÅ[É^Ç≈ÅAÉJÉâÅ[ÉXÉyÅ[ÉXÇ…ëŒÇ∑ÇÈÉäÉ\Å[ÉX
ID Ç‹ÇΩÇÕÉJÉâÅ[ÉXÉyÅ[ÉXç\ë¢ëÃÇéwíËǵNjÇ∑ÅB
Åú planeSet : ÉJÉâÅ[ÉXÉyÅ[ÉXÇ…ëŒÇ∑ÇÈÉäÉ\Å[ÉX ID Ç‹ÇΩÇÕÉJÉâÅ[ÉXÉyÅ[ÉXç\ë¢ëÃÇ≈Ç∑ÅB
Åú planeProfile : ÉvÉåÅ[ÉìÇÃÉJÉâÅ[ì¡ê´Ç≈Ç∑ÅBÉJÉâÅ[ì¡ê´Ç™Ç»Ç¢èÍçáÇÕÅADZÇÃÉpÉâÉÅÅ[É^Ç…
gxNoProfile Çê›íËÇ≈Ç´Ç‹Ç∑ÅB
ÉnÅ[ÉtÉgÅ[ÉìÉåÉìÉ_ÉäÉìÉOÇ…ëŒâûÇ∑ÇÈÉvÉåÅ[ÉìÇÃíl
DZDZÇ≈ÇÕÅACMYK ÉvÉäÉìÉ^Ç≈ÇÃÉnÅ[ÉtÉgÅ[ÉìÉCÉÅÅ[ÉWÇÃê∂ê¨ÇéÊÇËàµÇ¢Ç‹Ç∑ÅB
DZÇÃèàóùÇç≈ìKÇ…çsǧDžÇÕÅA4 ǬÇÃÉvÉåÅ[ÉìÇǪÇÍǺÇÍå¬ï Ç…ÉåÉìÉ_ÉäÉìÉOÇ∑ÇÈïKóvǙdžÇËÇ‹Ç∑ÅBQuickDraw
GX ÇÃÉnÅ[ÉtÉgÅ[ÉìÉåÉìÉ_ÉäÉìÉOÇÃäTóvDžǬǢǃÇÕÅAÅuInside
Macintosh: QuickDraw GX ObjectsÅvÇÃ 7-13
Ç©ÇÁ 7-17 ÇéQèΔǵǃÇ≠ÇæÇ≥Ç¢ÅB
Åú planeOptions : DZÇÃÉpÉâÉÅÅ[É^ÇÕ 0 ( gxDefaultOffscreen
) Ç…ê›íËǵǃÇ≠ÇæÇ≥Ç¢ÅBëºÇà 2 ǬÇÃíËêîÇÕÉfÉBÉUÉäÉìÉOÇ…égópǵNjÇ∑ÅB
Åú planeHalftone :
angle : DZÇÃÉpÉâÉÅÅ[É^Ç≈ÇÕÅAÉhÉbÉgÇÃå©Ç©ÇØè„ÇÃï˚å¸ÇìxíPà Ç≈éwíËǵNjÇ∑ÅBDZÇÍÇÕå≈íËè¨êîì_êîÇ≈Ç∑ÅBÇΩÇΔǶnjÅA15
ìxÇéwíËÇ∑ÇÈÇ…ÇÕÅA0x000F0000 ÇégǢNjÇ∑ÅB
frequency : DZÇÃÉpÉâÉÅÅ[É^ÇÕÅA1 ÉCÉìÉ`ìñÇΩÇËÇÃÉZÉãêîÇíPà ÇΔǵÇΩÉtÉHÉìÉgÇÃÉTÉCÉYÇ≈Ç∑ÅBDZÇÍÇÕå≈íËè¨êîì_êîÇ≈Ç∑ÅBÇΩÇΔǶnjÅA1
ÉCÉìÉ`ìñÇΩÇË 45 ÉZÉãÇ…ê›íËÇ∑ÇÈÇ…ÇÕÅA0x002D0000 ÇégǢNjÇ∑ÅB
method : DZÇÃÉpÉâÉÅÅ[É^ÇÕÉhÉbÉgÇÃå`èÛÇíËã`ǵNjÇ∑ÅB
íËêî
|
íl
|
gxRoundDot |
1
|
gxSpiralDot |
2
|
gxSquareDot |
3
|
gxLineDot |
4
|
gxEllipticDot |
5
|
gxTriangleDot |
6
|
gxDispersedDot |
7
|
tinting : DZÇÃÉpÉâÉÅÅ[É^ÇÕåªç›ÇÃÉpÉXÇ…ä÷òAǵÅACMYK Ç…ëŒÇµÇƒÅAéüÇÃílÇ™äÑÇËìñǃÇÁÇÍÇ‹Ç∑ÅB
íËêî
|
íl
|
?/TD>
|
gxComponent1Tint |
4
|
ÉVÉAÉìÉpÉX |
gxComponent2Tint |
5
|
É}É[ÉìÉ^ÉpÉX |
gxComponent3Tint |
6
|
ÉCÉGÉçÅ[ÉpÉX |
gxComponent4Tint |
7
|
ÉuÉâÉbÉNÉpÉX |
dotColor : DZÇÃÉpÉâÉÅÅ[É^Ç…ÇÕçïêFÇÃÉhÉbÉgÇê›íËǵNjÇ∑ÅBDZÇÍà»äOÇÃêFÇéwíËÇ∑ÇÈÇΔÅAÉCÉÅÅ[ÉWÇ™ê≥èÌÇ…ÉåÉìÉ_ÉäÉìÉOÇ≥ÇÍǻǢå¥àˆÇΔÇ»ÇËÇ‹Ç∑ÅB
gxRGBSpace, gxNoProfile, 0x0000, 0x0000, 0x0000, 0x0000
backgroundColor : ÉvÉäÉìÉ^ÇÃÉoÉbÉNÉOÉâÉEÉìÉhÉJÉâÅ[ÇÕí èÌîíêFÇ≈džÇÈÇΩÇfl
(ǬNjÇËópéÜÇÃêF)ÅADZÇÃÉpÉâÉÅÅ[É^Ç…ÇÕîíêFÇÃÉhÉbÉgÇê›íËǵNjÇ∑ÅB
gxRGBSpace, gxNoProfile, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF
tintSpace : DZÇÃÉpÉâÉÅÅ[É^Ç…ÇÕÉvÉåÅ[ÉìÇÃÉJÉâÅ[ÉXÉyÅ[ÉXÇê›íËǵNjÇ∑ÅBCMYK
ÇÃèÍçáÇÕ gxCMYKSpace Ç…ê›íËǵNjÇ∑ÅB
Åú planeSpace : DZÇÍÇÕÉvÉåÅ[ÉìÇÃÉIÉäÉWÉiÉãÉJÉâÅ[ÉXÉyÅ[ÉXÇ≈Ç∑ÅBÉnÅ[ÉtÉgÅ[ÉìÇÃèÍçáÅADZÇÃÉpÉâÉÅÅ[É^ÇÕ
gxNoSpace Ç…ê›íËǵNjÇ∑ÅB
Åú planeSet : ÉJÉâÅ[ÉXÉyÅ[ÉXÇ™ïKóvǻǢÇΔÇ´ÇÕ nil Ç…ê›íËǵNjÇ∑ÅB
Åú planeProfile : DZÇÃÉpÉâÉÅÅ[É^ÇÕ gxNoProfile Ç…ê›íËǵNjÇ∑ÅB
ImageWriter II Ç≈ÉnÅ[ÉtÉgÅ[ÉìÉåÉìÉ_ÉäÉìÉOÇçsǧÇΩÇflÇÃ
'rdip' ÉäÉ\Å[ÉXÇÃÉTÉìÉvÉã
Å®ÉTÉìÉvÉãÉRÅ[ÉhÇÃï\é¶
ǪÇÃèÍÇ≈ÉâÉXÉ^ÉvÉäÉtÉ@ÉåÉìÉXÇ…ÉpÉbÉ`ÇìñǃÇÈ
ÉhÉâÉCÉoÇ…ÇÊÇÈÉCÉÅÅ[ÉWÇÃÉåÉìÉ_ÉäÉìÉOï˚ñ@ÇïœçXǵÇΩÇ¢èÍçáǙdžÇËÇ‹Ç∑ÅBÇΩÇΔǶnjÅAÉfÉtÉHÉãÉgÇÃ
angle ÇΔ frequency ÇégǡǃÉnÅ[ÉtÉgÅ[ÉìÉCÉÅÅ[ÉWÇÃÉåÉìÉ_ÉäÉìÉOÇçsǧÇΔÉÇÉAÉåÇ™î≠ê∂Ç∑ÇÈDZÇΔǙdžÇËÇ‹Ç∑ÅBDZÇÃèÍçáÅAÉpÉâÉÅÅ[É^ÇÃê›íËílÇÇÌÇ∏ǩDžïœçXÇ∑ÇÈDZÇΔÇ≈ñ‚ëËÇâåàÇ≈Ç´Ç‹Ç∑ÅBÇΩÇæÇµÅAíPèÉÇ…
'rdip' Ç…ÉpÉbÉ`ÇìñǃÇÈÇæÇØÇ≈ÇÕ GX ÉhÉâÉCÉoÇÃÉåÉìÉ_ÉäÉìÉOï˚ñ@ÇïœçXÇ∑ÇÈDZÇΔÇÕÇ≈Ç´Ç‹ÇπÇÒÅB
DZÇÃèàóùÇé¿çsÇ∑ÇÈÇ…ÇÕÅAÉÜÉjÉoÅ[ÉTÉãÉCÉÅÅ[ÉWÉÅÉbÉZÅ[ÉW GXSetupImageData
ÇÉIÅ[ÉoÅ[ÉâÉCÉhǵǃÅADZÇÃÉÅÉbÉZÅ[ÉWÇ…ìnÇ∑ÉfÅ[É^Ç…ïœçXÇâ¡Ç¶Ç‹Ç∑ÅBDZÇÃÉÅÉbÉZÅ[ÉWÇégópÇ∑ÇÈÇΔÅAîCà”ÇÃéÌófiÇÃÉvÉäÉìÉ^
(ÉâÉXÉ^ÅAPostScript Ç‹ÇΩÇÕÉxÉNÉ^ÉvÉäÉìÉ^) Ç…ä÷Ç∑ÇÈÉåÉìÉ_ÉäÉìÉOèÓïÒÇïœçXÇ∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBDZÇÃÉÅÉbÉZÅ[ÉWÇ…ìnÇ∑ÉfÅ[É^ÇÃéÌófiÇÕÅAëŒè€ÇΔÇ»ÇÈÉhÉâÉCÉoÇÃéÌófiÇ…ÇÊǡǃàŸÇ»ÇËÇ‹Ç∑ÅBÇ‹ÇΩÅADZÇÃÉÅÉbÉZÅ[ÉWÇåƒÇ—èoÇ∑DZÇΔǪÇÃLJÇÃÇ…ÇÕà”ñ°ÇÕdžÇËÇ‹ÇπÇÒÅBèÓïÒÇ™ïKÇ∏ǵLJì«Ç›çûÇ‹ÇÍÇÈÇÌÇØÇ≈ÇÕǻǢÇΔǢǧDZÇΔÇ≈Ç∑ÅBDZÇÃÇΩÇflÅAÉIÅ[ÉoÅ[ÉâÉCÉhÇ≈ç≈èâÇ…çsǧÇ◊ǴDZÇΔÇÕÉÅÉbÉZÅ[ÉWÇëóÇËèoÇ∑DZÇΔÇ≈Ç∑ÅBǪǧÇ∑ÇÍÇŒÉfÉtÉHÉãÉgÇÃílÇ™ì«Ç›çûÇ‹ÇÍÇ‹Ç∑ÅBÉâÉXÉ^ÉhÉâÉCÉoÇÃèÍçáÇÕÅAgxRasterImageDataHdl
Ç™ìnÇ≥ÇÍÇ‹Ç∑ÅB
OSErr My_GXSetupImageData ( gxRasterImageDataHdl hImageData )
{
OSErr anErr;
anErr = Forward_GXSetupImageData ( hImageData );
nrequire ( anErr, Forward_GXSetupImageData );
//
// DZDZÇ≈ÉpÉbÉ`ÇìñǃÇÈ
//
// àÍî ÉZÉbÉgÉAÉbÉvèÓïÒ (è„à ÉrÉbÉg) ÇÕ
// éüÇÃÇÊǧDžÉAÉNÉZÉXÇ≈Ç´ÇÈ:
//
// (*hImageData)->theSetup.xxxxxxx
//
// äeÉvÉåÅ[ÉìÇÃèÓïÒÇÕéüÇÃÇÊǧDžÉAÉNÉZÉXÇ≈Ç´ÇÈ
//
// (*hImageData)->theSetup.planeSetup[0].xxxxxxx
//
Forward_GXSetupImageData:
return anErr;
}
ÉCÉÅÅ[ÉWÇ™ÉnÅ[ÉtÉgÅ[ÉìÇ‹ÇΩÇÕÉfÉBÉUÇÃÇ«ÇøÇÁÇ≈ÉåÉìÉ_ÉäÉìÉOÇ≥ÇÍÇÈèÍçáDžLJÅAîCà”ÇÃêîÇÃÉpÉâÉÅÅ[É^ÇïœçXÇ∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBDZÇÃèàóùÇÃÉTÉìÉvÉãDžǬǢǃÇÕÅA"IW-Half-Dither" ÉTÉìÉvÉãÉRÅ[ÉhÇéQèΔǵǃÇ≠ÇæÇ≥Ç¢ÅB
äeÉvÉåÅ[ÉìÇÇ‹ÇΔÇflǃàÛç¸Ç∑ÇÈ
àÍïîÇÃÉvÉäÉìÉ^Ç≈ÇÕÅAǪÇÍǺÇÍÇÃÉvÉåÅ[ÉìÇÃÉåÉìÉ_ÉäÉìÉOÇΔàÛç¸ÇìØéûÇ…çsǧïKóvǙdžÇËÇ‹Ç∑
(ÇΩÇΔǶnjÅAàÛç¸ÉwÉbÉhÇ™ 1 ǬǵǩǻÇ≠ÅAǵǩLJÉCÉìÉNÇÃåä∑Ç…éûä‘ÇÃǩǩÇÈÉvÉäÉìÉ^)ÅB
DZÇÃèàóùÇé¿çsÇ∑ÇÈ 1 ǬÇÃï˚ñ@ÇΔǵǃÅAÉåÉìÉ_ÉäÉìÉOÉIÉvÉVÉáÉìÇ…ä‹Ç‹ÇÍÇÈ gxOnePlaneAtATime
ÉIÉvÉVÉáÉìÇégópÇ∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBDZÇÃï˚ñ@Ç≈ÇÕÅAéwíËǵÇΩÉvÉåÅ[ÉìÇ≤ÇΔÇ…Ç∑Ç◊ǃÇÃÉâÉXÉ^ÉfÅ[É^Ç™àÍìxÇ…ëóêMÇ≥ÇÍÇ‹Ç∑ÅBÇΩÇæÇµÅADZÇÃï˚ñ@Ç™ç¨óêÇÃLJÇΔÇ…Ç»ÇÈèÍçáLJdžÇËÇ‹Ç∑ÅBÇΩÇΔǶnjÅAéwíËǵÇΩ
4 ǬÇÃÉvÉåÅ[ÉìÇä‹Çfi 'rdip' ÉäÉ\Å[ÉXǙdžÇÈÇΔǵNjÇ∑ÅBàÍå© GXRasterPackageBitmap()
ÉÅÉbÉZÅ[ÉWÇ™ 4 âÒåƒÇ—èoÇ≥ÇÍÇÈÇÊǧDžévÇÌÇÍÇÈǩLJǵÇÍÇ‹ÇπÇÒÅBǵǩǵÅADZÇÍÇÕåÎÇËÇ≈ÅAé¿ç€Ç…ÇÕ
16 âÒåƒÇ—èoÇ≥ÇÍÇÈDZÇΔÇ…Ç»ÇËÇ‹Ç∑ÅBǬNjÇËÅA4 ǬÇÃÉvÉåÅ[ÉìÇÃäeÉvÉåÅ[ÉìDžǬǢǃ 1 âÒÇ∏ǬÇΔǢǧåvéZÇ≈Ç∑ÅB
DZÇÃñ‚ëËÇâÒîÇ∑ÇÈÇΩÇflÇ¢Ç≠ǬǩÇÃï˚ñ@Ç™ópà”Ç≥ÇÍǃǢNjÇ∑ÅBç≈LJä»íPÇæÇΔévÇÌÇÍÇÈï˚ñ@ÇÕÅAGXRasterPackageBitmap()
ÉÅÉbÉZÅ[ÉWÇ©ÇÁïsïKóvÇ»ÉvÉåÅ[ÉìÇîrèúÇ∑ÇÈDZÇΔÇ≈Ç∑ÅBåªç›àÛç¸íÜÇÃÉvÉåÅ[ÉìÇí«ê’Ç∑ÇÈÉJÉEÉìÉ^ÇÉOÉçÅ[ÉoÉãç\ë¢ëÃÇ…ÉZÉbÉgÉAÉbÉvǵÅAÇ≥ÇÁÇ…ÉåÉìÉ_ÉäÉìÉOÉIÉvÉVÉáÉìÇ…ä‹Ç‹ÇÍÇÈ
gxSendAllBands ÉIÉvÉVÉáÉìÇégópÇ∑ÇÈïKóvǙdžÇËÇ‹Ç∑ÅB
ÉOÉçÅ[ÉoÉãç\ë¢ëà pGlobals ÇΔÉvÉåÅ[ÉìÉpÉâÉÅÅ[É^ currentPlane ÇåƒÇ—èoÇ∑DZÇΔÇ…Ç»ÇËÇ‹Ç∑ÅBGXRenderPage()
ÉÅÉbÉZÅ[ÉWÇÕéüÇÃÇÊǧDžǻÇËÇ‹Ç∑ÅB
OSErr My_GXRenderPage ( gxFormat theFormat,
gxShape thePage,
gxPageInfoRecord *pageInfo,
gxRasterImageDataHdl imageInfo)
{
......
pGlobals->currentPlane = 0;
......
}
DZÇÍÇ…ÇÊÇËÅAäeÉvÉåÅ[ÉìÇ™ÉåÉìÉ_ÉäÉìÉOÇ≥ÇÍÇÈëOÇ…ÅAcurrentPlane ÉJÉEÉìÉ^ÇÃílÇ™ämé¿Ç…
0 Ç…ê›íËÇ≥ÇÍÇ‹Ç∑ÅB
ÉvÉåÅ[ÉìÉJÉEÉìÉ^ÇÃílÇÕ GXRasterPackageBitmap() ÉÅÉbÉZÅ[ÉWÇÃíÜÇ≈ÉCÉìÉNÉäÉÅÉìÉgÇ≥ÇÍÇ‹Ç∑ÅBÉyÅ[ÉWÇÃè„í[DžǢǃÅAêÊì™ÇÃÉoÉìÉhÇàÛç¸ÇµÇÊǧÇΔǵǃǢÇÈǩǫǧǩǙÉ`ÉFÉbÉNÇ≥ÇÍÇ‹Ç∑ÅBLJǵǪǧÇ≈džÇÍÇŒÅAÉwÉbÉhÇÃêFÇ
currentPlane ÇÃêFÇ…ïœçXÇ∑ÇÈïKóvǙdžÇËÇ‹Ç∑ÅBàÍï˚ÅAêÊì™ÇÃÉvÉåÅ[ÉìÇàÛç¸ÇµÇƒÇ¢Ç»Ç¢èÍçáÇÕÅAÉwÉbÉhÇÉyÅ[ÉWÇÃè„í[Ç…ñflÇ∑ïKóvǙdžÇËÇ‹Ç∑ÅB
OSErr My_GXRasterPackageBitmap (
gxRasterPackageBitmapRec *pPackage,
Ptr buffer, // ÉfÅ[É^ÇÕDZDZ + bufferPos Ç…çsÇ≠
unsigned long *bufferPos, // Ç«ÇÃíˆìxÇÃÉoÉbÉtÉ@Ç™Ç∑Ç≈Ç…
// ǢǡǜǢDžǻǡǃǢÇÈÇ©
gxRasterImageDataHdl hImageData) // ÉvÉâÉCÉxÅ[ÉgÉCÉÅÅ[ÉWÉfÅ[É^
{
......
......
if ( (pPackage->startRaster == 0)
&& (pPackage->colorBand == 1 ) )
{
pGlobals->currentPlane++;
// ÉwÉbÉhÇÃêFÇïœçXÇ∑ÇÈ
// Ç‹ÇΩÅAcurrentPlane Ç™ > 1 ÇÃèÍçáÇÕÅAÉwÉbÉhÇå≥Ç…ñflÇ∑ÇΩÇflÇÃÉRÅ[ÉhÇãlÇflçûÇfi
}
......
DZÇÃÉIÅ[ÉoÅ[ÉâÉCÉhÇ≈ÇÕïsïKóvÇ»ÉfÅ[É^ÇîrèúÇ∑ÇÈïKóvLJdžÇËÇ‹Ç∑ÅBDZÇÃèàóùÇçsǧDžÇÕÅAíPèÉDžǪÇÃÉfÅ[É^ÇàÛç¸ÇµÇ»Ç¢ÇÊǧDžǵNjÇ∑ÅB
// DZÇÃÉJÉâÅ[ÉoÉìÉhÇàÛç¸Ç∑ÇÈïKóvǙdžÇÈǩǫǧǩämîFÇ∑ÇÈ
if ( pPackage->colorBand == pGlobals->currentPlane)
{
// DZÇÍÇ≈ÉâÉXÉ^èÓïÒÇ™ÉvÉäÉìÉ^Ç…ëóêMÇ≥ÇÍÇÈ
......
}
óvñÒ
'rdip' ÉäÉ\Å[ÉXÇÕÅAQuickDraw GX ÉvÉäÉìÉ^ÉhÉâÉCÉoÇÃÉfÉxÉçÉbÉpÇ…ÇΔǡǃîÒèÌÇ…ñÇ…óßÇøÇ‹Ç∑ÅB'rdip'
ÇégópÇ∑ÇÈÇΔÅAé©ï™Ç≈ÉåÉìÉ_ÉäÉìÉOÉcÅ[ÉãÇèëÇ≠DZÇΔÇ»Ç≠ÅAÉCÉÅÅ[ÉWÇÃÉåÉìÉ_ÉäÉìÉOï˚ñ@Çç◊Ç©Ç≠êßå‰Ç∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBǵǩǵÅADZÇÃîÒèÌÇ…è_ìÓÇ»ã@î\ÇΔÇÕà¯Ç´ë÷ǶDžÅADZÇÃÉäÉ\Å[ÉXÇÕîÒèÌÇ…ï°éGÇ»ÉfÅ[É^ç\ë¢ëÃÇ≈džÇËÅAñ⁄ìIÇÃå¯â ÇdžÇ∞ÇÈÇΩÇflÇ…ÇÕâΩìxÇ©ÇÃé¿å±ÇçsÇÌÇ»ÇØÇÍnjǻÇÁǻǢDZÇΔLJdžÇËÇ‹Ç∑ÅBDZÇÃ
TECHNOTE Ç™ GX ÉeÉNÉmÉçÉWÅ[Çç≈ëÂå¿Ç…äàǩǵÇΩÉhÉâÉCÉoÇèëÇ≠ÇΩÇflÇÃàÍèïÇ…Ç»ÇÍÇŒçKÇ¢Ç≈Ç∑ÅB
éQçlï∂å£
|